package com.itcast.interceptor;

import com.itcast.utils.JwtUtils;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

//@Slf4j
//@Component
public class InterceptorTliasDemo implements HandlerInterceptor {
//    @Override
//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        log.info("拦截器开始工作");
//        //获取请求路径
//        String url = request.getRequestURL().toString();
//
//        if (url.contains("/login")){
//            log.info("登录操作");
//            return true;
//        }
//        //验证token是否为空
//        String token = request.getHeader("token");
//        if (token == null || token.isEmpty()){
//            log.info("token为空");
//            //设置401状态码
//            response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
//            return false;
//        }
//        try {
//            JwtUtils.parseJWT(token);
//        } catch (Exception e) {
//            log.info("token解析失败");
//            //设置401状态码
//            response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
//            return false;
//        }
//
//        log.info("验证成功");
//        //  放行
//        return true;
//    }
//
//    @Override
//    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//        log.info("拦截器处理请求");
//    }
//
//    @Override
//    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
//        log.info("拦截器处理请求完成");
//    }
}
